Pair Programming, for or against? [on hold]

Posted by user1037729 on Programmers See other posts from Programmers or by user1037729
Published on 2013-11-13T08:30:50Z Indexed on 2013/11/13 10:10 UTC
Read the original article Hit count: 247

Filed under:

I believe it has many advantages over individual programming:

Pros

  • By pairing senior with relatively junior staff, the more junior can get up to speed with both project and computing experience, and the senior will re-think the problem in order to communicate with the junior, thus re-checking his own thinking (rubber duck principle!).

  • At least 2 people will know about any single piece of work, if one person is away the other can cover, or if some one leaves a project knowledge transfer is easier. Two brains on a complex task is more effective, communication keeps the work free flowing and provides redundancy in decision making.

  • Code is effectively reviewed as its being written, no need for a separate reviewing phase which requires a context switch as someone who has not been working on the piece in question would be required to understand and review the related code.

  • Reviewing code on your own which you haven't written or architected is not fun, hence counter productive.

Cons

  • Less bandwith for performing tasks, lets say we have 4 devs, pair programming requires 2 devs per task, so we would be doing 2 tasks concurrently as a posed to 4. I believe this "Con" does not stand up as the pair programmed task would complete sooner and comes with a review built in for free! Ie the pair programming task would be more efficient and thus free up resources earlier.

  • Less flexibility to chop and change tasks as two developers are tied into a task, when flexibility is required this could be a problem.

© Programmers or respective owner

Related posts about pair-programming